Q. Promise란 무엇인가요?
🧑🏻💻 Answer.
✅ 등장 배경과 정의
비동기 함수의 경우 내부의 비동기로 동작하는 코드에서 처리한 결과를 외부로 반환하거나 상위 스코프의 변수에 할당하여 사용할 수 없습니다.
따라서 비동기 함수의 처리 결과에 대한 후속 처리 및 에러 관리를 비동기 함수 내부에서 수행해야 합니다.
이때 사용되는 것이 콜백 함수인데, 후속 처리 후 또다시 비동기 함수를 호출해야 한다면 호출이 중첩되어 복잡도가 높아지는 콜백 지옥 현상이 발생하고 에러 처리도 힘들어집니다.
이렇게 콜백 패턴으로 인해 나타나는 콜백 지옥 현상과 에러 처리 한계를 해결하고자 ES6부터 비동기 처리를 위한 하나의 패턴으로 Promise가 도입되었습니다.
Promise를 활용하면 비동기 처리 시점을 명확하게 해줄 수 있습니다.